(function (fruit, ui, _) {
    ui.define('fruit.ui.CheckBoxGroup', {
        view:{
            props:{
                'class':'fruit-checkboxgroup',
                items:'{#items}',
                template:{
                    props:{
                        'class':'fruit-checkboxgroup-item'
                    },
                    content:{
                        type:'fruit.ui.CheckBox',
                        props:{
                            checked:'{checked}',
                            text:'{text}'
                        }
                    }
                }
            }
        },
        properties:{
            items:{
                value:null,
                observable:true
            }
        },
        methods:{
            selectAll:function (inChecked) {
                var items = this.items();
                _.each(items, function (item) {
                    item.checked = inChecked;
                });
                this.items(items.slice(0));
            }
        }
    });
}(fruit, fruit.ui, fruit.util));